package me.baicai.modules.belldandy.exception.service;

import me.baicai.exception.domain.GcbException;
import me.baicai.modules.belldandy.exception.service.dto.GcbExceptionDTO;
import me.baicai.modules.belldandy.exception.service.dto.GcbExceptionQueryCriteria;
import me.baicai.weixin.application.Result;
import me.baicai.weixin.entity.gcb.Query;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

/**
 * @author 超级大白菜
 * @date 2019-12-24
 */
public interface GcbExceptionService {

    /**
     * 查询数据分页
     * @param criteria 条件参数
     * @param pageable 分页参数
     * @return Map<String,Object>
     */
    Map<String,Object> queryAll(GcbExceptionQueryCriteria criteria, Pageable pageable);

    /**
     * 查询所有数据不分页
     * @param criteria 条件参数
     * @return List<GcbExceptionDTO>
     */
    List<GcbExceptionDTO> queryAll(GcbExceptionQueryCriteria criteria);

    /**
     * 根据ID查询
     * @param id ID
     * @return GcbExceptionDTO
     */
    GcbExceptionDTO findById(Integer id);

    GcbExceptionDTO create(GcbException resources);

    void update(GcbException resources);

    void delete(Integer id);

    void download(List<GcbExceptionDTO> all, HttpServletResponse response) throws IOException;
}
